using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.COM;
using System.Web.Services;
using System.Collections.Generic;
using FEL.PAR;
using AjaxControlToolkit;
using FEL.BOD;
using System.Globalization;

public partial class COM_COM_DEVOLUCION_DONACION_ING_DET : PaginaBaseKCG
{
    public Com_Devolucion_Donacion_Ing Com_Devolucion_Actual
    {
        get
        {
            if (ViewState["COM_DEVOLUCION_DONACION_ING"] == null)
                ViewState["COM_DEVOLUCION_DONACION_ING"] = ObtenerComDevolucion();
            return (Com_Devolucion_Donacion_Ing)ViewState["COM_DEVOLUCION_DONACION_ING"];
        }
    }


    Com_Devolucion_Donacion_Ing  ObtenerComDevolucion()
    {
        FEL.COM.BO_Com_Devolucion_Donacion_Ing datos = new BO_Com_Devolucion_Donacion_Ing();
        return datos.GetById("", (Scope)Session["Scope"], Request.QueryString["Com_Devolucion_Donacion_Ing_Id"])[0];

    }

    protected void Page_Load(object sender, EventArgs e)
    {
        cargarbotones();
        base.Page_Load(sender, e);
        fvcom_devolucion_donacion_ing_det.DataBound += new EventHandler(fvcom_devolucion_donacion_ing_det_DataBound);

    }
    void fvcom_devolucion_donacion_ing_det_DataBound(object sender, EventArgs e)
    {
        if (Fv.CurrentMode == FormViewMode.Edit)
        {

            ((AutoCompleteExtender)Fv.FindControl("AutoCompleteExtender1")).ContextKey = Com_Devolucion_Actual.Par_Razon_Social_Id;
            ((AutoCompleteExtender)Fv.FindControl("AutoCompleteExtender2")).ContextKey = Com_Devolucion_Actual.Par_Razon_Social_Id;
            
        }
    }
    private void cargarbotones()
    {
        BtnDevolucionDonacion.Text = GetLocalResourceObject("Btn_Com_Devolucion_Donacion_Ing_Det_DonacionRecursoKCG.Text").ToString();
        BtnDevolucionDonacion.ToolTip = GetLocalResourceObject("Btn_Com_Devolucion_Donacion_Ing_Det_DonacionRecursoKCG.ToolTip").ToString();
    }
    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Com_Devolucion_Donacion_Ing_Id", Request.QueryString["Com_Devolucion_Donacion_Ing_Id"]));
            param.Add(new DictionaryEntry("Bod_Bodega_Codigo", Com_Devolucion_Actual.Bod_Bodega_Codigo));
            param.Add(new DictionaryEntry("Bod_Bodega_Nombre", Com_Devolucion_Actual.Bod_Bodega_Nombre));
            param.Add(new DictionaryEntry("Par_Razon_Social_Nombre", Com_Devolucion_Actual.Par_Razon_Social_Nombre));
            param.Add(new DictionaryEntry("Par_Razon_Social_Id", Com_Devolucion_Actual.Par_Razon_Social_Id));            
            
            ((AutoCompleteExtender)Fv.FindControl("AutoCompleteExtender1")).ContextKey = Com_Devolucion_Actual.Par_Razon_Social_Id;
            ((AutoCompleteExtender)Fv.FindControl("AutoCompleteExtender2")).ContextKey = Com_Devolucion_Actual.Par_Razon_Social_Id;
        }
        base.DefinirParametrosFijosDeInsercion(param);
    }
    
    [WebMethod]
    static public string[] GetCodigo(string prefixText, int count, string contextKey)
    {
        
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Donacion_Ing DonacionIng = new BO_Com_Donacion_Ing();
        List<Com_Donacion_Ing> litDonacionIng = DonacionIng.GetByLikeCodigo("Nombre", s, contextKey, prefixText + "%");
        
        List<string> opciones = new List<string>();
        for (int i = 0; i < litDonacionIng.Count && i < count; i++)
        {
            string value = litDonacionIng[i].Id + "||" +
                           litDonacionIng[i].Tipo_Nombre  + "||" +
                           litDonacionIng[i].Numero;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litDonacionIng[i].Codigo, value));
        }
        return opciones.ToArray();
    }

    [WebMethod]
    static public string[] GetNumero(string prefixText, int count, string contextKey)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Donacion_Ing DonacionIng = new BO_Com_Donacion_Ing();
        List<Com_Donacion_Ing> litDonacionIng = DonacionIng.GetByLikeNumero("Nombre", s, contextKey, prefixText + "%");

        List<string> opciones1 = new List<string>();
        for (int i = 0; i < litDonacionIng.Count && i < count; i++)
        {
            string value = litDonacionIng[i].Id + "||" +
                           litDonacionIng[i].Tipo_Nombre + "||" +
                           litDonacionIng[i].Codigo;

            opciones1.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litDonacionIng[i].Numero, value));
        }
        return opciones1.ToArray();
    }

    [WebMethod]
    static public string[] GetArticuloNombre(string prefixText, int count, string contextKey)    
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Donacion_Ing_Det DonacionIngDet = new BO_Com_Donacion_Ing_Det();
        List<Com_Donacion_Ing_Det> litDonacionIngDet = DonacionIngDet.GetByLikeNombreArticulo("Nombre", s, contextKey, prefixText + "%");

        List<string> opciones2 = new List<string>();
        for (int i = 0; i < litDonacionIngDet.Count && i < count; i++)
        {
            string value = litDonacionIngDet[i].Id + "||" +
                           litDonacionIngDet[i].Codigo + "||" +
                           litDonacionIngDet[i].Com_Articulo_Id  + "||" + 
                           litDonacionIngDet[i].Com_Articulo_Codigo + "||" +
                           litDonacionIngDet[i].Cantidad + "||" +
                           litDonacionIngDet[i].Costo + "||" +
                           litDonacionIngDet[i].Bod_Unidad_Id + "||" +
                           litDonacionIngDet[i].Bod_Unidad_Nombre; 

            opciones2.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litDonacionIngDet[i].Com_Articulo_Nombre, value));
        }
        return opciones2.ToArray();
    }

    [WebMethod]
    static public string[] GetCodigoDet(string prefixText, int count, string contextKey)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Donacion_Ing_Det DonacionIngDet = new BO_Com_Donacion_Ing_Det();
        List<Com_Donacion_Ing_Det> litDonacionIngDet = DonacionIngDet.GetByLikeCodigo("Nombre", s, contextKey, prefixText + "%");

        List<string> opciones3 = new List<string>();
        for (int i = 0; i < litDonacionIngDet.Count && i < count; i++)
        {
            string value = litDonacionIngDet[i].Id + "||" +
                           litDonacionIngDet[i].Com_Articulo_Id + "||" +         
                           litDonacionIngDet[i].Com_Articulo_Codigo + "||" +
                           litDonacionIngDet[i].Com_Articulo_Nombre  + "||" +
                           litDonacionIngDet[i].Cantidad + "||" +
                           litDonacionIngDet[i].Costo + "||" +
                           litDonacionIngDet[i].Bod_Unidad_Id + "||" + 
                           litDonacionIngDet[i].Bod_Unidad_Nombre;

            opciones3.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litDonacionIngDet[i].Codigo, value));
        }
        return opciones3.ToArray();
    }

    [WebMethod]
    static public string[] GetUnidad(string prefixText, int count, string contextKey)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Unidad BodUnidad = new BO_Bod_Unidad();
        List<Bod_Unidad> litBodUnidad = BodUnidad.GetByLikeArticulo("Nombre", s, prefixText + "%", contextKey);

        List<string> opciones4 = new List<string>();
        for (int i = 0; i < litBodUnidad.Count && i < count; i++)
        {
            string value = litBodUnidad[i].Id + "||" +
                           litBodUnidad[i].Nombre;                

            opciones4.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBodUnidad[i].Nombre, value));
        }
        return opciones4.ToArray();
    }

    protected override CheckBox CbInsertarMemoria
    {
        get { return null; }
    }

    protected override Type TipoObjeto
    {
        get { return typeof(global::Com_Devolucion_Donacion_Ing_Det); }
    }

    protected override GridView Gv
    {
        get { return gvcom_devolucion_donacion_ing_det; }
    }

    protected override FormView Fv
    {
        get { return fvcom_devolucion_donacion_ing_det; }
    }

    protected override ObjectDataSource OdsGv
    {
        get { return odsgvcom_devolucion_donacion_ing_det; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvcom_devolucion_donacion_ing_det; }
    }

    protected override Button BResponderZoom
    {
        get { return Seleccionar; }
    }

    protected override Button BRegreso
    {
        get { return Atras; }
    }


    protected override Koala.KoalaWebControls.KFiltro KftFiltro
    {
        get { return kftFiltro; }
    }
    protected override string Contenedor
    {
        get { return "COM_DEVOLUCION_DONACION_ING_DET"; }
    }

    protected void nav_Siguiente(object sender, EventArgs e)
    {
        Gv_SelectedIndexChanged(sender, e);
    }
    protected void BtnDevolucionDonacion_Click(object sender, EventArgs e)
    {
        TextBox Com_Devolucion_Donacion_Ing_Id = (TextBox)Fv.FindControl("Com_Devolucion_Donacion_Ing_Id");
        Response.Redirect("~/COM/COM_DEVOLUCION_DONACION_ING.aspx?Com_Devolucion_Donacion_Ing_Id=" + Com_Devolucion_Donacion_Ing_Id.Text);
    }
}
